import request from '@/utils/request'

// 获取帖子列表
export function listPost(query) {
  return request({
    url: '/community/posts',
    method: 'get',
    params: query
  })
}

// 获取帖子详细信息
export function getPost(postId) {
  return request({
    url: '/community/posts/' + postId,
    method: 'get'
  })
}

// 新增帖子
export function addPost(data) {
  return request({
    url: '/community/posts',
    method: 'post',
    data: data
  })
}

// 修改帖子
export function updatePost(data) {
  return request({
    url: '/community/posts',
    method: 'put',
    data: data
  })
}

// 删除帖子
export function delPost(postId) {
  return request({
    url: '/community/posts/' + postId,
    method: 'delete'
  })
}

// 获取评论列表
export function listComment(postId, query) {
  console.log('评论列表请求参数:', { postId, query })
  return request({
    url: '/community/posts/' + postId + '/comments',
    method: 'get',
    params: {
      ...query,
      status: '0', // 确保只获取正常状态的评论
      pageSize: query.pageSize || 50 // 增大默认页大小以获取更多评论
    }
  }).then(res => {
    console.log('评论列表原始响应:', res)
    return res
  }).catch(error => {
    console.error('评论列表请求错误:', error)
    throw error
  })
}

// 获取评论详细信息
export function getComment(commentId) {
  return request({
    url: '/community/comment/' + commentId,
    method: 'get'
  })
}

// 新增评论
export function addComment(data) {
  return request({
    url: '/community/comments',
    method: 'post',
    data: data
  })
}

// 修改评论
export function updateComment(data) {
  return request({
    url: '/community/comment',
    method: 'put',
    data: data
  })
}

// 删除评论
export function delComment(commentId) {
  return request({
    url: '/community/comment/' + commentId,
    method: 'delete'
  })
}

// 点赞/取消点赞
export function likeTarget(type, id) {
  return request({
    url: '/community/' + type + '/' + id + '/like',
    method: 'post'
  })
}

// 获取用户点赞过的帖子列表
export function listLikedPosts(query) {
  return request({
    url: '/community/posts/liked',
    method: 'get',
    params: query
  })
}

// 获取用户评论过的帖子列表
export function listCommentedPosts(query) {
  return request({
    url: '/community/posts/commented',
    method: 'get',
    params: query
  })
} 